home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / lisp / elk-2_0.lha / elk-2.0 / CHANGES < prev    next >
Text File  |  1992-11-22  |  8KB  |  190 lines

  1. Changes from release 1.5 to release 2.0
  2.  
  3.    General:
  4.     
  5.      o  The build and install process has been improved significantly (see
  6.     file INSTALL)
  7.      o  Added a new directory "config" that holds the system-specific
  8.     configuration files and the site-file
  9.      o  Added a build shell script and a unified Makefile to all
  10.     directories; "build" creates the ``real'' Makefiles containing
  11.     system- and site-specific details during the make process
  12.      o  Added install, lint, clean, and distclean targets to all
  13.     Makefiles
  14.      o  Placed files that are needed during runtime (dynamically loadable
  15.     object files, Scheme files, the interpreter itself) into separate
  16.     directories; added "make install" to put files there
  17.  
  18.      o  Simplified porting Elk to new systems (assembly language support
  19.     and a stack-extending version of "alloca" are no longer required)
  20.      o  Tested on several new systems (IBM RS/6000, HP9000/700, SGI,
  21.     Sony; see the file MACHINES)
  22.  
  23.      o  Placed new files CONTRIBUTORS, MIGRATE, and TODO into the toplevel
  24.     directory of the distribution
  25.      o  Added a directory "util" that contains tools to simplify porting
  26.     Elk to new environments and other utilities that are useful on
  27.     some systems
  28.      o  Added a directory "scripts" that holds the shell scripts used
  29.     to link instances of the interpreter and extensions.
  30.      o  Removed "stk" directory with test programs (no longer needed)
  31.  
  32.      o  Added ANSI C prototypes and C++ "extern C" to all include files
  33.  
  34.    Interpreter kernel:
  35.  
  36.      o  Placed include files into a separate directory (include)
  37.      o  Reorganized the source files (separate source files for different
  38.         a.out formats and different dynamic loading mechanisms)
  39.      o  Changed the way new Scheme objects are allocated to support the
  40.     generational garbage collector (not yet present in Elk)
  41.      o  Rewrote the code implementing continuations to support full
  42.     call/cc on all machines
  43.      o  Fixed tail recursion optimization
  44.      o  Added support for POSIX signals (as alternative to BSD reliable
  45.     signals)
  46.      o  Removed several artificial limitations (such as max. number of
  47.     before-GC and after-GC functions and statically GC-linked objects)
  48.      o  Removed code that depended on max. number of open files per process
  49.      o  Added bi-directional ports (input-output-ports); new primitive:
  50.     open-input-output-port
  51.      o  New primitive: port-line-number
  52.      o  Reader now prints line number on syntax error
  53.      o  Max. length of a pathname is now determined correctly (using the
  54.     POSIX incantations if applicable)
  55.      o  Added code to support dynamic loading under HP-UX (src/load.shl.c)
  56.      o  Added code to call extension finalization functions and C++
  57.     destructors on termination
  58.      o  Fixed and improved the code to call extension initialization
  59.     functions and C++ constructors on startup or when loading
  60.     extensions
  61.      o  Improved the mechanism to suppress initialization of statically
  62.     linked extensions on startup ("dont_init_if_name" in config/site)
  63.      o  Can use ANSI "atexit" as alternative to redefining "exit"
  64.      o  Added option -p to specify load path
  65.      o  Scheme file "initscheme" is now loaded before the toplevel is
  66.     loaded
  67.      o  Changed "rand" to use rand() if random() isn't there
  68.      o  re-entrant-continuations? primitive is no longer needed (returns
  69.     always #t now)
  70.      o  Added a general mechanism to register termination functions for
  71.     individual objects (e.g. to close files on GC); see src/terminate.c
  72.      o  linkscheme shell script improved; added code to support the
  73.     stupid AIX linker
  74.      o  Fixed numerous things that caused lint or "gcc -ansi" to complain
  75.      o  Changed the dynamic loading, "dump", and a.out symbol table reading
  76.     code in numerous places to make it work on new systems and to make
  77.     it more readable and maintainable
  78.  
  79.    Extensions:
  80.  
  81.      o  Combined lib/util/symbol.o and lib/util/objects.o into new library
  82.     libutil.a; put this library into the default "load-libraries"
  83.      o  Moved lib/util/string.c and lib/util/string.h into the interpreter
  84.      o  Moved files from lib directory into new subdirectory "misc"
  85.      o  Added POSIX sysconf stuff to unix.c to determine max. number of
  86.         open files per process
  87.  
  88.    Elk/X:
  89.  
  90.      o  Made the code "lint clean" and "gcc -ansi clean"
  91.      o  Fixed bogus variable definitions in xlib.h and xt.h
  92.      o  Xlib: added support for client-message event
  93.      o  Xt: added code to avoid a bug in Motif 1.1.4
  94.      o  Xt: added optional "mask" argument to context-add-input
  95.      o  Removed site-dependent information from scm/xwidgets (file is
  96.     now created from scm/xwidgets.src during the build process)
  97.      o  Renamed widget .d files that were longer than 14 characters;
  98.     added ALIASES file for each widget set containing mappings from
  99.     real widget names to short names
  100.  
  101.    Documentation:
  102.  
  103.      o  Added sub-directory "paper" containing a draft version of a
  104.     paper about Elk
  105.  
  106.    User-contributed extensions:
  107.  
  108.      o  A foreign function interface, an Elk Shell, and a vector extension
  109.     have been contributed by J. P. Lewis (contrib/zelk).
  110.  
  111.  
  112. Changes from release 1.4 to release 1.5
  113.  
  114.    General:
  115.      o  Added a "contrib" directory for user-contributed extensions
  116.     that I have not fully tested and/or integrated into Elk
  117.      o  Renamed ORIGIN to COPYRIGHT
  118.  
  119.    Interpreter kernel:
  120.      o  Added support for the Amiga, A/UX and System V Release 4
  121.     (ELF a.out format)
  122.      o  Added special load-library for MIPS (-lc_G0)
  123.      o  Extension-interface: replaced Val() by Var_Set()/Var_Get()
  124.      o  Modified load, autoload, and require so that multiple .o-files
  125.     can be loaded simultaneously
  126.      o  Added -1+ as a synonym for 1-
  127.      o  Bug fixes:
  128.           o  fixed a GC-related bug
  129.           o  fixed a bug that occurred when allocating a very large heap
  130.       o  fixed a bug in case-insensitive string comparison
  131.       o  fixed a bug in macro "when"
  132.       o  changed and clarified semantics of print-depth/print-length
  133.      o  IEEE 1178/R^4RS compatibility:
  134.           o  replaced close-port by close-input-port and close-output-port
  135.           o  added primitives caaaar .. cddddr
  136.           o  added peek-char primitive
  137.           o  added -i option for case-insensitive operation
  138.      o  Removed -bc option
  139.      o  Removed CBREAK-hack in read-char
  140.  
  141.    Elk/X:
  142.      o  Fixed several GC-related bugs (objects belonging to Xlib/Xt are
  143.     no longer terminated by garbage collector when unreferenced)
  144.      o  Fixed a bug in the interface to the Grip widget
  145.      o  Modified code to load widgets to make use of new capability to
  146.     load multiple .o-files
  147.  
  148.    Documentation:
  149.      o  Interpreter kernel:  documented new functions, clarified
  150.     some sections
  151.      o  Xlib/Xt:  documented X-related behaviour of garbage collector,
  152.     pointed out GC-related pitfalls
  153.  
  154.  
  155. Changes from release 1.3 to release 1.4
  156.  
  157.    Interpreter kernel:
  158.      o  Support for the NeXT machines added
  159.      o  New primitive list? provided
  160.      o  Two bugs in the tail recursion code fixed
  161.      o  -v option to trace /bin/ld-calls
  162.      o  man-page written
  163.  
  164.    Elk/X:
  165.      o  Tested under X11R5
  166.      o  X11R3 and earlier versions are no longer supported
  167.      o  The HP-widget code has been removed from the distribution
  168.  
  169.      o  New Xlib-primitives:  install-colormap  uninstall-colormap
  170.     list-installed-colormaps  xlib-release-5-or-later?
  171.  
  172.      o  Xt interface now supports actions and accelerator tables
  173.      o  Bug in set-context-fallback-resources! fixed
  174.      o  New Xt-functions:  widget-name  widget-translate-coordinates
  175.         application-initialize  context-add-action  install-accelerators
  176.         install-all-accelerators  xt-release-5-or-later?
  177.  
  178.      o  Support for new widget classes: menubutton panner porthole repeater
  179.         simplemenu sme smebsb smeline stripchart tree
  180.      o  vpaned renamed to paned
  181.  
  182.      o  Example programs have been moved into a new examples directory
  183.     with sub-directories for Scheme, Xlib, Xaw, Motif
  184.  
  185.      o  New Xaw example programs that demonstrate the new widget classes,
  186.     accelerators, actions, etc.
  187.  
  188.    Other extensions:
  189.      o  Interface to the GNU gdbm-library
  190.